#include <iostream>
using namespace std;

// 引入欧拉函数，计算[1,x]中与x互质的数的数量
// 此处算法详解见OI Wiki：https://oi-wiki.org/math/number-theory/euler-totient/
int eulerPhi(int n) {
    int ans = n;
    for (int i = 2; i * i <= n; i++) {
        if (n % i == 0) {
            ans = ans / i * (i - 1);
            while (n % i == 0) n /= i;
        }
    }
    if (n > 1) { ans = ans / n * (n - 1); }
    return ans;
}

int gcd(int a, int b) {
    return b == 0 ? a : gcd(b, a % b);
    // 求最大公约数，这个我还没有证明，但是先用吧
}

int main() {
    // 我们假设队长是在左上角的，这样方便计算
    int squadSize; cin >> squadSize;
    if (squadSize == 1) { cout << 0; return 0; }
    // 如果(x,y)中，x与y互质，则这个人可见；特殊地，x与y其中一个为0，一个为1的人也可见
    int result = 0;
    for (int i = 1; i < squadSize; i++) {
        result += eulerPhi(i);
    }
    result = result * 2 + 1;
    // 遍历方阵，找到这样的人有几个
    cout << result;
    return 0;
}